package user

import (
	"gitee.com/xiaoyutab/gatway/model"
	"gitee.com/xiaoyutab/gatway/service/user"
	"gitee.com/xiaoyutab/xgotool/xgin"
	"gitee.com/xiaoyutab/xgotool/xgodb"
	"github.com/gin-gonic/gin"
)

// 注册接口
//
//	POST	user/regedit
func Regedit(c *gin.Context) *xgin.Response {
	if !xgodb.GetBool("USER_REGEDIT") {
		return xgin.Resp().ErrorString("抱歉，暂未开启系统注册功能")
	}
	type temp_struct struct {
		Username      string `json:"username" form:"username" xml:"username"`                   //登录用户名
		Password      string `json:"password" form:"password" xml:"password"`                   //密码
		PasswordEnter string `json:"password_enter" form:"password_enter" xml:"password_enter"` //确认密码
		Nickname      string `json:"nickname" form:"nickname" xml:"nickname"`                   //昵称
	}
	temp := temp_struct{}
	if err := xgin.Bind(c, &temp); err != nil {
		return xgin.Resp().Error(err)
	}
	// 正式变量赋值
	// 请使用param进行参数验证、变量效验等操作
	param := temp
	if param.Password != param.PasswordEnter {
		return xgin.Resp().ErrorString("两次密码输入不一致")
	}
	// 注册用户信息
	u := model.User{
		Username: param.Username,
		Password: param.Password,
		Nickname: param.Nickname,
	}
	err := user.Regedit(&u, c.ClientIP())
	if err != nil {
		return xgin.Resp().Error(err)
	}
	return xgin.Resp().SuccessEmpty()
}
